"""
    求矩形相交的面积
    box   = [gx1, gy1, gx2, gy2]
    boxes = [cx1, cy1, cx2, cy2]

    box   = np.array([2, 2, 20, 25])
    boxes = np.array([15, 12, 25, 21])
"""
import numpy as np
box = np.array([2, 2, 20, 25])
boxes = np.array([15, 12, 25, 21])
print(box)
print(boxes)
gx1,gx2,cx1,cx2=box[0],box[2],boxes[0],boxes[2]   #导入各点的x坐标
gy1,gy2,cy1,cy2=box[1],box[3],boxes[1],boxes[3]   #导入各点的x坐标
print(gx1,gx2,cx1,cx2,gy1,gy2,cy1,cy2)
a=[gx1,gx2,cx1,cx2]
a.sort()#将所有的x坐标排序
print(a)
b=[gy1,gy2,cy1,cy2]
b.sort()#将所有的y坐标排序
print(b)
#判断是否相交
if ((a[0]==box[0])and(a[1]==box[2]))or((a[0]==boxes[0])and(a[1]==boxes[2])or(b[0]==box[1])and(b[1]==box[3]))or((b[0]==boxes[1])and(b[1]==boxes[3])):
    #通过如果一个矩形的所有x坐标或y坐标小于另一个矩形的所有x坐标或y坐标，则这两个矩形不相交
    print("矩形不相交，面积为0")
else:
    print("相交面积为：",(a[2]-a[1])*(b[2]-b[1]))
    #如果两个矩形相交，通过将所有的x坐标和y坐标从小到大排序，相交矩形的长宽分别是x坐标或y坐标第三个值减第二个值，例如本题长为(20-15)=5,宽为(21-12)=9,所以面积为45，就算有边重合也适用